define(["../common"], function() {

	// 更新折算库存请求地址
	var updateSCPath = g_shopDomain + "/storeGoods/stockConvertDo/json";
	// 批量上下架请求地址
	var updateSSPath = g_shopDomain + "/storeGoods/statusDo/json";
	// 排序请求地址
	var sortPath = g_shopDomain + "/storeGoods/sortDo/json";

	loadjs(["pagectrl"]);
	loadjs(["goodsClassify"], function() {
		$("#selectClassify").goodsClassifyComboBox({
			value: $("#classifyId").val(),
			companyId: $("#hideData").html(),
			onSelect: function(deep, classify) {
				// 获取选中的最后一个有效值
				var value = $("#selectClassify select option:selected[value!='']:last").val();
				$("#classifyId").val(value);
			}
		});
	});

	// 全选
	$("[name='selectAll']").click(function() {
		$("[name='storeGoodsIds']").prop("checked", $(this).prop("checked"));
		$("[name='selectAll']").prop("checked", $(this).prop("checked"));
	});
	
	// 上架状态、缺货状态筛选条件选中
	$("select[data]").each(function() {
		$(this).val($(this).attr("data"));
	});

	// 促销状态筛选条件选中
	if ($("#atDiscount").val() === "true" && $("#atDiscount").val() === $("#atGift").val()) {
		$("#gp_select").val("oAg");
	} else if ($("#atDiscount").val() === "true") {
		$("#gp_select").val("atDiscount");
	} else if($("#atGift").val() === "true") {
		$("#gp_select").val("atGift");
	} else {
		$("#gp_select").val();
	}

	// 事件：切换促销状态筛选条件
	$("#gp_select").change(function() {
		var value = $(this).val();
		if (!value) {
			$("#atDiscount,#atGift").val("");
		} else if (value === "oAg") {
			$("#atDiscount,#atGift").val(true);
		} else {
			$("#atDiscount,#atGift").val("");
			$("#" + value).val(true);
		}
	});

	// 事件：更改上架状态
	$(document).on("click", "[id^='statusBt_']", function() {
		var $this = $(this);
		var vars = $this.attr("id").split("_");
		var id = vars[1];
		var status = parseInt(vars[2]) === 0 ? "ON" : "OFF";
		var statusValue = status === "ON" ? 1 : 0;
		
		var msg = statusValue === 1 ? "上架中..." : "下架中...";
		if (!$this.showMsg(msg, 'load', true)) return;
		
		$.post(updateSSPath, {storeGoodsIds: id, status: status}, function(data) {
			if (data.status !== 0) {
				$this.showMsg(data.message, 'error');
				return;
				
			} 
			
			$this.showMsg();
			$this.attr("id", "statusBt_" + id + "_" + statusValue);
			if (statusValue === 1) {
				$this.removeClass("xj");
				$this.addClass("sj");
			} else {
				$this.removeClass("sj");
				$this.addClass("xj");
			}
		});
	});
	
	// 批量上下架
	$("#onAllBt,#offAllBt").click(function() {
		var $this = $(this);
		var $dc = $(document);

		var $checkboxes = $(":checkbox[name='storeGoodsIds']:checked");
		if ($checkboxes.length === 0) {
			$dc.showMsg("请选择要操作的商品", 'error');
			return;
		}
		
		var status = "ON";
		var msg = "上架中...";
		if ($this.attr("id") === "offAllBt") {
			status = "OFF";
			msg = "下架中...";
		}
		
		var storeGoodsIds = $checkboxes.map(function() {
			return $(this).val();
		}).get();
		
		if (!$dc.showMsg(msg, 'load', true)) return;
		
		$.post(updateSSPath, {storeGoodsIds: storeGoodsIds.join(","), status: status}, function(data) {
			if (data.status !== 0) {
				$dc.showMsg(data.message, 'error');
				return;
			}
			
			$dc.showMsg();
			
			
			// 刷新每个商品上下架按钮状态
			var id;
			var $ssBt;// $statusBt
			var statusValue = status === "ON" ? 1 : 0;
			for (var i in storeGoodsIds) {
				id = storeGoodsIds[i];
				$ssBt = $("[id^='statusBt_" + id + "_']");
				$ssBt.attr("id", "statusBt_" + id + "_" + statusValue);
				if (statusValue === 1) {
					$ssBt.removeClass("xj");
					$ssBt.addClass("sj");
				} else {
					$ssBt.removeClass("sj");
					$ssBt.addClass("xj");
				}
			}
		});
		
	});

	// 事件：点击修改折算库存
	$("[id^='sgStockA_']").click(function() {
		var id = ($(this).attr("id").split("_"))[1];
		$("#sgStockA_" + id).hide();
		$("#sgStockInput_" + id).show().focus().select();
	});

	// 事件：提交库存修改
	$("[id^='sgStockInput_']").blur(function() {
		var $this = $(this);
		var id = ($this.attr("id").split("_"))[1];
		var stock = parseFloat($this.val());// (去掉后面有其它字符部分)
		if (isNaN(stock)) {
			$this.showMsg("请输入数字", 'error');
			return;
		}
		// 若不改动库存，则不执行修改
		if (stock === parseFloat($("#sgStockA_" + id).html())) {
			$("#sgStockInput_" + id).hide();
			$("#sgStockA_" + id).show();
			return;
		}
		$this.showMsg("修改库存...", 'load');
		$.post(updateSCPath, {storeGoodsId: id, stockConvert: stock}, function(data) {
			if (data.status === 0) {
				$this.showMsg("修改成功！");
				$("#sgStockInput_" + id).val(stock).hide();
				$("#sgStockA_" + id).show().html(stock);
			} else {
				$this.showMsg(date.message, 'error');
				$("#sgStockInput_" + id).hide();
				$("#sgStockA_" + id).show();
			}
		});
	});

	// 事件：排序
	$(document).on("click", "[id^='sort_']", function() {
		var vars = $(this).attr("id").split("_");
		var id = vars[1];
		var sortType = parseInt(vars[2]);
		var $item = $("#item_" + id);
		var msg = sortType === 0 ? "沉底中..." : "置顶中...";
		if (!$item.showMsg(msg, 'load', true)) return;
		
		$item.fadeTo(null,0.1);
		$.post(sortPath, {storeGoodsId: id, sortType: sortType}, function(data) {
			if (data.status === 0) {
				$item.fadeOut(function() {
					$item.showMsg();
					if (sortType === 1) {
						$(this).insertAfter($("#listHead")).fadeTo('fast',1);
					} else {
						$(this).appendTo($("#spgl")).fadeTo('fast',1);
					}
				});
			} else {
				$item.showMsg(data.message, 'error');
				$item.fadeTo('fast',1);
			}
		});
	});

})
